AlaskaLinuxUser's Scratchpad

Commit thy works unto the LORD, and thy thoughts shall be established. - Proverbs 16:3

Updating UT apps: GearSystem and other apps

gearsystem.jpg

Continuing on my journey to update about 200 Ubuntu Touch apps from Xenial to Focal, I once again released more apps on the open-store. Among them was a personal favorite, which is GearSystem. GearSystem is a Sega Game Gear and Sega Master System emulator, so you can play all your old favorite Sega titles.

Of course, I typically fork the repositories, update them and test them on my Fair Phone 4, and then make pull requests, in hopes that they get accepted by the author. If they don't, then I use my fork to create a new app in my name (required for open store release) and press on with that. Here is the pull request and then my repository:

My pull request

My repository for GearSystem

Nothing particularly challenging about that update, but I did need to edit all of the sources and headers locations in the .pro file so the library would build correctly.

I also tried to update the underlying application, GearSystem, from the upstream source (not Ubuntu Touch clickable) as it is a cross platform application. I really wanted to add the game save/load feature from upstream. Unfortunately, I couldn't make that work, but perhaps when I've learned a little more I can come back to that and try again.

Another app I updated that was much tougher was Game of the Amazons, a chess/go like game, which required significant time on my part with library issues to make the update to Focal. In the end, I actually just built the library needed myself, and included it as pre-built, using this catch all if/else statement to include the correct pre-built for the click:

if (${ARCH_TRIPLET} MATCHES "aarch64-linux-gnu")
    target_link_libraries(${PLUGIN} ${CMAKE_SOURCE_DIR}/plugins/Amazons/lib/libamazons_arm64.a)
elseif (${ARCH_TRIPLET} MATCHES "arm-linux-gnueabihf")
    target_link_libraries(${PLUGIN} ${CMAKE_SOURCE_DIR}/plugins/Amazons/lib/libamazons_armhf.a)
else ()
    target_link_libraries(${PLUGIN} ${CMAKE_SOURCE_DIR}/plugins/Amazons/lib/libamazons_amd64.a)
endif ()

That seemed to work, but I am sure there was a better way to do this. Unfortunately, using clickable to build the libraries and the app just didn't work, but now with the libraries pre-built, you can just run clickable to build the click/app itself.

And now there are more aps on the open-store! If you want to follow along with my journey, here is a little table of my progress so far:

Apps Numbers
Released on Open-Store 35
Pending release 15
Cannot Update 80
Total 199
Percentage complete 65.3%

Linux - keep it simple.